# 作业
# 字典操作 + 文件操作 + 函数
# 1、写一个商品管理的小程序
# 2、商品存在文件里面
# 1、添加商品
# 输入产品名称、颜色、价格
# 要校验商品是否存在，价格是否合法
# 输入是否为空
# 2、修改商品信息
# 输入产品名称、颜色、价格
# 要校验商品是否存在，价格是否合法
# 输入是否为空
# 3、查看商品信息
# 输入商品名称
# 输入all就展示全部商品
# 输入的是其他的商品名称，
# 4、删除商品
# 输入商品名称

def add_productupdate_product():
    name_product = {}
    name = input('name:').strip()
    color = input('color:').strip()
    price = input('price:').strip()
    if name == '' or color == '' or price == '':
        print('输入内容不能为空')
    elif choice == '2' and name in dic_product:
       print('商品已经存在')
    elif choice == '3' and name not in dic_product:
        print('该商品不存在')
    elif price.isdigit():
        price = float(price)
        name_product['price'] = price
        name_product['color'] = color
        dic_product[name] = name_product
    elif price.count('.') == 1 and '-' not in price:
       left,right = price.split('.')
       if left.isdigit() and right.isdigit():
           price = float(price)
           name_product['price'] = price
           name_product['color'] = color
           dic_product[name] = name_product
    else:
         print('请查看商品价格是否正确')
    f.seek(0)
    f.truncate()
    json.dump(dic_product,f,ensure_ascii=False,indent=4)

def show_product():
    name = input("请输入商品名称:").strip()
    if name == 'all':
        print(dic_product)
    if name not in dic_product:
        print('该商品不存在')
    else:
        print(dic_product.get(name))

def del_product():
    name = input('请输入需要删除的商品名：')
    if name not in dic_product:
        print('该商品不存在')
    else:
         dic_product.pop(name)
    f.seek(0)
    f.truncate()
    json.dump(dic_product,f,ensure_ascii=False,indent=4)

import json
with open('product.txt', 'a+', encoding='utf-8') as f:
    f.seek(0)
    result = f.read()
    dic_product = json.loads(result)
    choice = input('请输入你的选择：1、查看 2、添加 3、修改 4、删除:')
    if choice=='1':
       show_product()
    elif choice=='2' or '3':
        add_productupdate_product()
    else:
        del_product()












